home *** CD-ROM | disk | FTP | other *** search
/ .net 2002 March / DotNetMagazine-Issue107-Coverdisc-NET107-02-03-PCMac.bin / pc / PC Software / free_browsing / DavesQckSearchDbar3-14 / dqsd.exe / searches / alarm.xml < prev    next >
Text File  |  2002-08-30  |  2KB  |  84 lines

  1. <search function="alarm">
  2.   <name>Alarm</name>
  3.   <description>
  4.     Schedule an alarm to go off at a certain time. The alarm message is optional. (All times are in Military (24hr) Time. Supports only a single alarm.)<br/>
  5.     <div class="helpboxDescLabels">Usage:</div>
  6.       <table class="helpboxDescTable">
  7.           <tr><td>Set Alarm</td><td> - </td><td>alarm <<i>time</i>> [<<i>message</i>>]</td></tr>
  8.           <tr><td>Cancel Alarm</td><td> - </td><td>alarm cancel</td></tr>
  9.       </table>
  10.     <div class="helpboxDescLabels">Example:</div>
  11.     <table class="helpboxDescTable">
  12.           <tr><td>alarm 14:00 Staff Meeting</td></tr>
  13.       </table>
  14.   </description>
  15.   <category>Functions</category>
  16.   <contributor>Monty Scroggins</contributor>
  17.   
  18.   <script><![CDATA[
  19.     var alarmTime;
  20.     var curTime;
  21.     var alarmMsg;
  22.     var alNum;
  23.     var parsedLine;
  24.     var parsedMsg;
  25.      
  26.     function alarm(t) 
  27.     {
  28.       if( nullArgs("alarm",t) )
  29.         return false;
  30.         
  31.       if( t.match(/^cancel *$/i) ) 
  32.       {
  33.         clearInterval(alNum);
  34.         document.deff.q.value="Alarm Canceled..";
  35.         setTimeout("document.deff.q.value='';",1000);
  36.       }
  37.       else if( parsedLine = t.match(/(\d\d\:\d\d)\s*(.*)/) ) 
  38.       {
  39.         if( parsedLine[1] != null && parsedLine[1].length != 0) 
  40.           alarmTime = parsedLine[1];
  41.           
  42.         parsedMsg = parsedLine[2];
  43.         alarmMsg =  'Alarm: ' + alarmTime + '\n\nAlarm has Expired';
  44.           
  45.         if(parsedMsg != null && parsedMsg.length != 0 )
  46.           alarmMsg = 'Alarm: ' + alarmTime + '\n\n' + parsedMsg;
  47.           
  48.         alarmOn();
  49.         document.deff.q.value="Alarm Set..";
  50.         setTimeout("document.deff.q.value='';",1000);
  51.       }
  52.       else 
  53.       {
  54.         window.alert("Bad Timestamp Entered. Should be HH:MM in Military Time");
  55.         return;
  56.       }
  57.     }
  58.  
  59.     function IfZero( num ) 
  60.     {
  61.       return (num <= 9) ? ("0" + num) : num;
  62.     }
  63.  
  64.     function alarmOn() 
  65.     {
  66.       var dt = new Date();
  67.       curTime = IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes());
  68.       if( alarmTime == curTime )
  69.       {
  70.         clearInterval(alNum);
  71.         window.alert(alarmMsg);
  72.       }
  73.       else
  74.         alNum=setTimeout("alarmOn()", 6000)
  75.     }
  76.   ]]></script>
  77.  
  78.   <copyright>
  79.     Copyright (c) 2002 David Bau
  80.     Distributed under the terms of the
  81.     GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  82.   </copyright>
  83. </search>
  84.